home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / madwifi / net80211 / if_athproto.h < prev    next >
C/C++ Source or Header  |  2006-05-11  |  3KB  |  97 lines

  1. /*
  2.  * Copyright (c) 2004 Atheros Communications Inc.  All rights reserved.
  3.  *
  4.  * $Id: if_athproto.h 1495 2006-04-06 04:14:07Z jbicket $
  5.  */
  6.  
  7. #ifndef _NET_IF_ATH_PROTO_H_
  8. #define _NET_IF_ATH_PROTO_H_
  9.  
  10. /*
  11.  * Atheros proprietary protocol info.
  12.  */
  13.  
  14. /*
  15.  * Atheros proprietary SuperG defines.
  16.  */
  17.  
  18. #define ATH_ETH_TYPE          0x88bd
  19. #define ATH_SNAP_ORGCODE_0    0x00
  20. #define ATH_SNAP_ORGCODE_1    0x03
  21. #define ATH_SNAP_ORGCODE_2    0x7f
  22.  
  23. struct athl2p_tunnel_hdr {
  24. #if (_BYTE_ORDER == _LITTLE_ENDIAN)
  25.     u_int32_t offset:11,
  26.     seqNum:11,
  27.     optHdrLen32:2,
  28.     frameType:2,
  29.     proto:6;
  30. #else /* big endian */
  31.     u_int32_t proto:6,
  32.     frameType:2,
  33.     optHdrLen32:2,
  34.     seqNum:11,
  35.     offset:11;
  36. #endif
  37. } __packed;
  38.  
  39. /*
  40.  * The following defines control compiling Atheros-specific features
  41.  * (see BuildCaps.inc):
  42.  *
  43.  *   ATH_SUPERG_FF 
  44.  *      set to 1 for fast-frame
  45.  */
  46.  
  47. #define ATH_L2TUNNEL_PROTO_FF 0
  48. /* FF max payload: 
  49.  * 802.2 + FFHDR + HPAD + 802.3 + 802.2 + 1500 + SPAD + 802.3 + 802.2 + 1500:
  50.  *   8   +   4   +  4   +   14  +   8   + 1500 +  6   +   14  +   8   + 1500
  51.  * = 3066
  52.  */ 
  53. #define ATH_FF_MAX_HDR_PAD    4
  54. #define ATH_FF_MAX_SEP_PAD    6
  55. #define ATH_FF_MAX_HDR        30
  56. #define ATH_FF_MAX_PAYLOAD     3066
  57. #define ATH_FF_MAX_LEN (ATH_FF_MAX_PAYLOAD + IEEE80211_CRC_LEN + \
  58.     (IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + IEEE80211_WEP_CRCLEN))
  59.  
  60. /*
  61.  * Store a magic number in skb->cb[] area to indicate FF within driver.
  62.  * Offset of 8B into cb[] is used to preserve vlan tag info.
  63.  */
  64. #define ATH_FF_MAGIC_PUT(_skb) \
  65.     (((struct ieee80211_cb *) (_skb)->cb)->flags |= M_FF)
  66. #define ATH_FF_MAGIC_CLR(_skb) \
  67.     (((struct ieee80211_cb *) (_skb)->cb)->flags &= ~M_FF)
  68. #define ATH_FF_MAGIC_PRESENT(_skb) \
  69.     ((((struct ieee80211_cb *) (_skb)->cb)->flags & M_FF) != 0)
  70. #define ATH_FF_NEXTSKB_PUT(_skb, _next) \
  71.     (((struct ieee80211_cb *) (_skb)->cb)->next = _next)
  72. #define ATH_FF_NEXTSKB_GET(_skb) \
  73.     (((struct ieee80211_cb *) (_skb)->cb)->next)
  74.  
  75. /*
  76.  * default value for the minimum txq depth required for an ath_buf to be
  77.  * placed on the FF staging queue. this value should be >=3 due to interaction
  78.  * with HW compression.
  79.  */
  80. #define ATH_FF_TXQMIN        3
  81.  
  82. /* 
  83.  * default maximum age an ath_buf is allowed to remain on the staging queue.
  84.  * When this number of ath_bufs have been queued on the txq, after an ath_buf
  85.  * was placed on the staging queue, that ath_buf on the staging queue will be
  86.  * flushed.
  87.  */
  88. #define ATH_FF_STAGEQAGEMAX    5
  89.  
  90. /*
  91.  * Reserve enough buffer header length to avoid reallocation on fast-frame
  92.  * rx and tx.
  93.  */
  94. #define USE_HEADERLEN_RESV    1
  95.  
  96. #endif /* _NET_IF_ATH_PROTO_H_ */
  97.